大家好,我是來自巴哈姆特的 %%鼠:
歡迎加入這趟 30 天鐵人旅程!主題是「渲染與 GPU 編程」。目標很簡單也很野心——把「看得懂」變成「做得出來」:你不只會懂 GPU 為何快、渲染管線怎麼跑、Shader 如何寫,還會實作到 Vulkan、WebGPU 與 CUDA,從畫出第一個三角形一路到能解釋 PBR 與基本光追差異。
以下導讀內容若有看不懂得單字先別緊張,後續文章會待著各位設定。
系統化知識地圖:CPU vs GPU、渲染管線、材質與光照、記憶體與資料流。
三條實作主線
可運行的小專案:三角形 → 模型載入 → 基本光照/材質 → Instancing;CUDA 的 thread/block/grid 觀念與小型運算範例。
性能與除錯思維:你會知道瓶頸在哪、該看哪個計數器、怎麼調整資料布局。
glslc)。我避免綁特定版本,文章會說明差異點與常見踩雷,讓你在自己的環境也能通。
Week 1|基礎打底(D1–D7)
Week 2|材質與效率(D8–D14)
8. Normal Map 與 Bump Map:讓平面有細節
9. 數大便是美:GPU Instancing 實作
10. Vulkan 是什麼?與 OpenGL 的差異與優勢
11. Vulkan 專案骨架與初始化
12. Vulkan 渲染流程:Command Buffer 與 Render Pass
13. Vulkan 建立 Shader Module 並繪製三角形
14. Vulkan 載入模型並加入光影
Week 3|現代管線與 Web(D15–D21)
15. 深入 Descriptor Set 與 Pipeline Layout
16. WebGPU 是什麼?與 WebGL 的差異與優勢
17. 第一個 WebGPU 專案:環境與初始化
18. WebGPU 渲染管線解析
19. WGSL 編寫 Vertex / Fragment Shader
20. 在 WebGPU 中載入並繪製模型
21. 實作基本光照與材質
Week 4|GPU 通用計算與新技術(D22–D30)
22. CUDA 是什麼?GPU 平行運算基礎
23. 第一個 CUDA 專案:環境與 Hello World
24. CUDA Thread/Block/Grid 架構解析
25. [待定或預留時間] CUDA 實作
26. [待定或預留時間] CUDA 的效能分析與最佳化策略?
27. [待定或預留時間] GPU 新技術介紹
28. [待定或預留時間] GPU 新技術介紹
29. [待定或預留時間] GPU 新技術介紹
30. [待定或預留時間] 光柵化 vs 光線追蹤:兩種渲染方式的比較與取捨
待定主題我會依讀者回饋與篇幅,在該週調整最有價值的內容(會盡量挑「能落地、能測到效果」的技術)。
圖形與 GPU 的世界很酷,但也很誠實:你動手、它就回饋。接下來 30 天,我會把每個主題拆成能落地的最小單位,讓你每天都有「畫面/數字」可以驗收。
準備好了就從 Day 1:GPU 與 CPU 的差異 開始——我們先建立對「平行」與「資料局部性」的直覺,之後的 Vulkan/WebGPU/CUDA 都會因此好走很多。
開啟你的 GPU 之旅吧 🚀
感謝 未知作者 的精彩分享!
JavaScript 生態系統真的很豐富,這樣的分享對開發者很有幫助。
實際的程式碼範例很有幫助,讓理論更容易理解。
遇到的問題和解決方案分享很實用,相信很多人都會遇到類似的情況。
也歡迎版主有空參考我的系列文「南桃AI重生記」:https://ithelp.ithome.com.tw/users/20046160/ironman/8311
如果覺得有幫助的話,也歡迎訂閱支持!